<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../react18/react.development.js"></script>
    <script src="../react18/react-dom.development.js"></script>
    <script src="../react18/babel.min.js"></script>
</head>
<body>
    <div id="app"></div>
  <!-- 只要text/babel这个包，那么下面的都是以严格模式下执行的 -->
   <script type="text/babel">
     // 这个是根组件
    class App extends React.Component{
        state={
            count:0
        }
        render(){
            const {count} =this.state;
            return(
            <div>  
            
                <button onClick={this.handle}>+</button>
                <p>{count}</p>    
            </div>
            )
        }
    // 事件函数
    handle = () =>{
        // 当前this再箭头函数中，所以出去找this指向了，找到App类，因为类其实就是构造函数，构造函数的this指向实例化对象，所以这个this指向实例化对象
        console.log(this);
    }
    
    }

    const root = ReactDOM.createRoot(document.getElementById('app'));
    root.render(<App/>)
  
   // 案例:确实是我们做了一件事情(调用了fn),shijian才调用,但是根据下边的案例看,shijian的调用方式是默认调用,this指向undefined(严格模式下)
    /* function shijian(){

    }
  
    function fn(){
      shijian();
    }
    fn() */
  
  </script> 
</body>
</html>